/***************************************************************
 * Name:      FileSyncMain.h
 * Purpose:   Defines Application Frame
 * Author:    JackyLian ()
 * Created:   2012-12-06
 * Copyright: JackyLian ()
 * License:
 **************************************************************/

#ifndef FILESYNCMAIN_H
#define FILESYNCMAIN_H

//(*Headers(FileSyncFrame)
#include <wx/listctrl.h>
#include <wx/sizer.h>
#include <wx/textctrl.h>
#include <wx/checkbox.h>
#include <wx/panel.h>
#include <wx/button.h>
#include <wx/dirdlg.h>
#include <wx/frame.h>
#include <wx/gauge.h>
//*)

#include <wx/log.h>


class FileDiffList;
class FileSelectPanel;

BEGIN_DECLARE_EVENT_TYPES()
DECLARE_EVENT_TYPE(wxEVT_SYNC_ONE, -1)
END_DECLARE_EVENT_TYPES()

class FileSyncFrame: public wxFrame
{
    public:

        FileSyncFrame(wxWindow* parent,wxWindowID id = -1);
        virtual ~FileSyncFrame();


    private:

        //(*Handlers(FileSyncFrame)
        void OnQuit(wxCommandEvent& event);
        void OnAbout(wxCommandEvent& event);
        void OnSrcDirBtnClick1(wxCommandEvent& event);
        void OnDstDirBtn(wxCommandEvent& event);
        void OnResize(wxSizeEvent& event);
        void OnSyncBtnClick(wxCommandEvent& event);
        //*)
        void OnSyncOne(wxCommandEvent& event);

        //(*Identifiers(FileSyncFrame)
        static const long ID_BUTTON1;
        static const long ID_TEXTCTRL1;
        static const long ID_PANEL1;
        static const long ID_BUTTON3;
        static const long ID_CHECKBOX1;
        static const long ID_PANEL3;
        static const long ID_BUTTON2;
        static const long ID_TEXTCTRL2;
        static const long ID_PANEL2;
        static const long ID_GAUGE1;
        static const long ID_LISTCTRL1;
        static const long ID_TEXTCTRL3;
        //*)

        //(*Declarations(FileSyncFrame)
        wxGauge* m_processBar;
        wxTextCtrl* m_dstDirText;
        wxTextCtrl* m_srcDirText;
        wxTextCtrl* m_logText;
        wxButton* m_dstDirBtn;
        wxButton* m_srcDirBtn;
        wxPanel* Panel1;
        wxDirDialog* m_dirDialog;
        wxButton* m_syncBtn;
        wxPanel* Panel3;
        wxCheckBox* m_deleteCheckBox;
        wxPanel* Panel2;
        FileDiffList* m_diffList;
        //*)


        DECLARE_EVENT_TABLE()
};

#endif // FILESYNCMAIN_H
